The report below presents a summary of selected data/curiosities about Poland and Poles. All data was collected from Wikipedia using web scraping, each time the downloaded data is marked with the source and name of a specific subpage in English (in some cases, Polish equivalents were also used. Enjoy reading! :)
Poland, officially known as the Republic of Poland (Rzeczpospolita Polska), is a captivating country nestled in Central Europe. From the Baltic Sea in the north to the Sudetes and Carpathian Mountains in the south, Poland boasts a diverse landscape that encompasses both natural beauty and historical significance.
Geography: Poland’s territory spans from the Baltic coast to the picturesque mountain ranges. The Vistula River, the longest in the country, meanders through its heartland.
Population: With over 38 million inhabitants, Poland is the fifth-most populous member state of the European Union. Its vibrant culture and rich history have shaped a resilient and proud nation.
Language: Polish is the official language, spoken by nearly everyone. The country’s linguistic heritage reflects its complex history and diverse influences.
History: From prehistoric settlements to the establishment of statehood in 966, Poland’s journey has been marked by resilience, cultural exchange, and pivotal moments. The tribal Polans, who gave the country its name, played a crucial role in shaping its identity.
Economy: Poland’s economy is robust, with a mix of industry, agriculture, and services. It ranks among the top 20 economies globally in terms of GDP (PPP).
Religion: Catholicism has deep roots in Poland, with over 70% of the population identifying as Christian. The country’s religious heritage is intertwined with its national identity.
Cities: Warsaw, the capital, stands as a testament to Poland’s resilience after World War II. Other major cities like Kraków, Wrocław, Łódź, Poznań, and Gdańsk contribute to the country’s vibrant urban life.
Poland has a rich sports culture that is an integral part of national pride and identity, excelling in a variety of sports, with a particularly strong tradition in football, volleyball, and athletics. Football (soccer) is the most popular sport in Poland, with the national team, known as the Biało-Czerwoni (White and Reds), having a storied history and notable successes, including third-place finishes in the 1974 and 1982 FIFA World Cups. The Polish Football Association oversees the sport, and the top-tier league, Ekstraklasa, features competitive clubs like Legia Warsaw, Lech Poznań, and Wisła Kraków. Volleyball is another highly popular sport, with the men’s national team achieving significant success on the international stage, winning multiple World Championship titles, including victories in 2014 and 2018, and Poland hosts one of the most competitive national leagues in the world, PlusLiga, attracting top talent globally. In athletics, particularly in track and field events, Polish athletes have won numerous medals in the Olympics and World Championships, with celebrated names like Irena Szewińska, Anita Włodarczyk, and Robert Korzeniowski contributing to the sport’s strong tradition. Additionally, Poland’s climate and geography make it a favorable destination for winter sports, with ski jumping being particularly popular and Polish jumpers such as Adam Małysz and Kamil Stoch gaining international acclaim, alongside excellence in cross-country skiing and biathlon.
The most striking trend in the chart is the rapid population growth in Asia. From 1500, the continent’s population has grown from around 500 million to a projected 5561 million in 2150. The dynamic growth of the Asian population, especially in recent centuries, is a result of both high natural increase and advances in medicine and improved living conditions. This makes Asia the continent with the greatest market potential, but also poses challenges related to sustainable development and resource management. Similarly, Africa is experiencing significant population growth. From 1500, the population has grown from around 100 million to 2308 million in 2150. Africa, with its rapidly growing population, is becoming an increasingly important player on the global economic scene. The population increase brings with it the need to invest in infrastructure, education and healthcare to meet the needs of the growing community.
Latin America, Europe and North America are also experiencing population growth, albeit to a lesser extent. Europe, whose population grew from around 100 million in 1500 to a projected 517 million in 2150, has shown population stabilization in recent decades. An aging population and low natural increase in Europe pose challenges in maintaining economic balance and ensuring an adequate level of social care. North America, with a population growing from around 2 million in 1500 to 398 million in 2150, is also experiencing demographic stabilization. This region, like Europe, will need to adapt its policies to the changing demographic structure, with an emphasis on integrating immigrants and supporting the aging population
Central and South Asia are projected to see the most dramatic population increase, with numbers rising from 2.342 billion in 2022 to a projected 2.575 billion in 2050. This translates to a growth of 233 million people. East and Southeast Asia will also experience significant growth, with their populations increasing by 242 million to reach 2.317 billion. Sub-Saharan Africa is another region anticipating substantial growth, with projections showing a rise from 2.075 billion to 2.094 billion, indicating a strong natural increase. In contrast to the rapidly growing regions, Europe and North America are expected to remain fairly stable in terms of population. These regions might see a slight increase, going from a combined 1.152 billion to 1.125 billion. This demographic stability is likely a result of low birth rates and aging populations, posing challenges for these regions in terms of supporting their aging citizens and maintaining a dynamic workforce. North Africa and West Asia are expected to see their populations rise from 0.658 billion to 0.771 billion. Similarly, Latin America and the Caribbean are projected to grow from 0.549 billion to 0.749 billion. These regions will need to invest in infrastructure and social services to accommodate the growing needs of their populations.
The population pyramid displayed above offers a comprehensive snapshot of Poland’s demographic landscape in 2015, segmented by gender. This graphical representation delineates the population distribution across various age cohorts, highlighting the differences between males and females.
The youngest age groups (0-4 and 5-9) exhibit a balanced distribution between males and females, suggesting consistent birth rates during this period.
Individuals in the 20-24 to 50-54 age brackets form the core of Poland’s working-age population. Here, the gender distribution is relatively even, though females slightly outnumber males in most cohorts.
A significant feature of this pyramid is the pronounced female majority in the older age groups, starting from 60-64 years onward. This trend reflects the higher life expectancy among women, a common demographic pattern observed globally.
The pyramid’s shape, narrowing at the base and widening towards the top, underscores an aging population. The larger cohorts in the older age groups indicate a substantial elderly population, pointing to potential challenges and needs in healthcare and social services.
s <- svgstring(scaling = 1, width = 12, height = 15)
ageBins <- c(paste0(seq(0, 99, 5), "-", seq(4, 100, 5)), "100+")
dfAge[2:22, ]$Age <- ageBins
dfAge[nrow(dfAge) - 4:nrow(dfAge),] %>%
mutate(
Age = factor(Age, levels = ageBins, ordered = T),
Women = sub(" ", "", sub(" ", "", Women)) %>% as.numeric,
Men = sub(" ", "", sub(" ", "", Men)) %>% as.numeric,
`%age` = sub(",", ".", `%age`) %>% as.numeric
) %>%
filter(Age != "Ogółem") %>%
ggplot(aes(
y = Age
)) +
geom_col(aes(x = Women), fill = "#d1000a") +
geom_col(aes(x = -Men), fill = "#111d2b") +
geom_text(aes(
x = Women,
label = format(Women, big.mark = " ", scientific = F),
color = if_else(Women < 10^5*2, "black", "white"),
hjust = if_else(Women < 10^5*2, 0, 1)
), show.legend = F) +
geom_text(aes(
x = -Men,
label = format(Men, big.mark = " ", scientific = F),
color = if_else(Men < 10^5*2, "black", "white"),
hjust = if_else(Men < 10^5*2, 1, 0)
), show.legend = F) +
scale_color_manual(values = c("black", "white")) +
scale_x_continuous(
breaks = seq(-1500000, 15000000, 500000),
labels = format(abs(seq(-1500000, 15000000, 500000)), big.mark = " ", scientific = F)
) +
labs(
x = "",
y = "",
title = "Poland's demography (estimation, 2015)",
subtitle = glue::glue(
"
gender-wise comparisons:
<span style = 'color: #111d2b;'><b>men</b></span>,
<span style = 'color: #d1000a;'><b>women</b> </span>
"
),
caption = paste0("Author: MK \n data source: wikipedia (", Sys.Date(), ") \n demography")
) +
theme(
plot.subtitle = element_markdown()
)
htmltools::HTML(s())The population pyramid displayed above offers a comprehensive snapshot of Poland’s demographic landscape in 2015, segmented by gender. This graphical representation delineates the population distribution across various age cohorts, highlighting the differences between males and females.
The youngest age groups (0-4 and 5-9) exhibit a balanced distribution between males and females, suggesting consistent birth rates during this period.
Individuals in the 20-24 to 50-54 age brackets form the core of Poland’s working-age population. Here, the gender distribution is relatively even, though females slightly outnumber males in most cohorts.
A significant feature of this pyramid is the pronounced female majority in the older age groups, starting from 60-64 years onward. This trend reflects the higher life expectancy among women, a common demographic pattern observed globally.
The pyramid’s shape, narrowing at the base and widening towards the top, underscores an aging population. The larger cohorts in the older age groups indicate a substantial elderly population, pointing to potential challenges and needs in healthcare and social services.
s <- svgstring(scaling = 1, width = 12, height = 7)
dfAge[nrow(dfAge) - 4:nrow(dfAge),] %>%
mutate(
Age = factor(Age, levels = ageBins, ordered = T),
Women = sub(" ", "", sub(" ", "", Women)) %>% as.numeric,
Men = sub(" ", "", sub(" ", "", Men)) %>% as.numeric,
`%age` = sub(",", ".", `%age`) %>% as.numeric,
rown = row_number(),
Proportion = Men / Women
) %>%
filter(Age != "Ogółem") %>%
ggplot(aes(
x = Proportion,
y = reorder(Age, -rown)
)) +
geom_path(color = "#d1000a", size = 2, aes(group = "")) +
coord_flip() +
geom_text(aes(label = round(Proportion, 2)), angle = 90, nudge_x = .055, color = "#111d2b", fontface = "bold") +
labs(
x = "Number of males per 1 female",
y = "",
title = "Poland's demography (estimation, 2015)",
subtitle = "How many males are there per female?",
caption = paste0("Author: MK \n data source: wikipedia (", Sys.Date(), ") \n demography")
) +
theme(
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.text.y = element_blank(),
panel.grid.major.x = element_line(linewidth = .1, linetype = 2, color = "#111d2b")
)
htmltools::HTML(s())The population of Poland is concentrated in a few key urban areas. As the capital, Warsaw stands out as the most densely populated area on the map, a natural consequence of its role as the country’s administrative, cultural, and economic center. Similarly, other large cities like Krakow, Lodz, Wroclaw, and Poznan also make their presence known on the map, indicating their significance as regional economic and educational hubs. The map also reveals clear distinctions between urban and rural areas. The northern and eastern regions of Poland, excluding major cities, are characterized by lower population density. These regions are dominated by smaller towns and villages, reflecting the greater role of agriculture and extractive industries in local economies. In contrast, the south and west, particularly the Silesia region, exhibit significant population density, mirroring the historical development of heavy industry and mining. The map also highlights the impact of transportation infrastructure on population distribution. Areas along major transportation corridors, such as highways and railways, often exhibit higher population densities. This is associated with better commuting opportunities and access to services, attracting residents and investments.
The chart showcases a significant rise in births following World War II. This surge, evident in many European nations, reflects a post-war baby boom as families reunited and looked towards rebuilding.
The chart indicates another period of increased births in the early 1970s, extending into the 1980s. This rise could be attributed to government policies or economic prosperity that provided stability for families. However, a concerning trend emerges – a steady decline in birthrate since the early 1980s. This continuous downward slope suggests Poland’s birthrate has fallen below replacement level.
The chart itself doesn’t pinpoint the reasons behind the decline, but some educated guesses can be made. Urbanization, with its smaller living spaces, might be a contributing factor. Furthermore, increased educational opportunities for women may be leading to later marriages and childbearing. Economic insecurity, a global concern, could also be discouraging couples from having children. It paints a clear picture: Poland’s birthrate has undergone a significant decline in recent decades. While the reasons are likely multifaceted – urbanization, educational advancements, economic uncertainty – the consequences are undeniable. A shrinking workforce and an aging population pose challenges for Poland’s social security systems, economic growth, and healthcare infrastructure.
s <- svgstring(scaling = 1, width = 12, height = 10)
dfPopChange %>%
mutate(
Przyrostnaturalny = sub("−", "", sub("–", "-", sub(" ", "", Przyrostnaturalny))) %>% as.numeric,
Rok = as.numeric(substr(Rok, 1, 4))
) %>%
ggplot(aes(
x = Rok,
y = Przyrostnaturalny
)) +
geom_vline(xintercept = 1964.5, color = "#111d2b", alpha = .4, size = 1.3) +
geom_text(aes(x = 1964, y = 10^5*5.5, label = "Baby Boomers"), hjust = 1, size = 6, color = "#111d2b", family = "Segoe UI") +
geom_vline(xintercept = 1978.5, color = "#111d2b", alpha = .4, size = 1.3) +
geom_text(aes(x = 1978, y = 10^5*5.5, label = "Gen. X"), hjust = 1, size = 6, color = "#111d2b", family = "Segoe UI") +
geom_vline(xintercept = 1994.5, color = "#111d2b", alpha = .4, size = 1.3) +
geom_text(aes(x = 1994, y = 10^5*5.5, label = "Gen. Y"), hjust = 1, size = 6, color = "#111d2b", family = "Segoe UI") +
geom_vline(xintercept = 2011.5, color = "#111d2b", alpha = .4, size = 1.3) +
geom_text(aes(x = 2011, y = 10^5*5.5, label = "Gen. Z"), hjust = 1, size = 6, color = "#111d2b", family = "Segoe UI") +
geom_text(aes(x = 2023, y = 10^5*5.5, label = "Gen. Alpha"), hjust = 1, size = 6, color = "#111d2b", family = "Segoe UI") +
geom_col(fill = "#d1000a") +
geom_text(aes(
label = format(Przyrostnaturalny, big.mark = " ", scientific = F),
hjust = case_when(
Przyrostnaturalny >= 10^4*5 ~ 1,
Przyrostnaturalny >= 0 ~ 0,
Przyrostnaturalny < -10^4*5 ~ 0,
T ~ 1
),
color = case_when(
Przyrostnaturalny >= 10^4*5 ~ "white",
Przyrostnaturalny >= 0 ~ "black",
Przyrostnaturalny < -10^4*5 ~ "white",
T ~ "black"
)
), angle = 90, show.legend = F, fontface = "bold") +
scale_color_manual(values = c("#111d2b", "white")) +
scale_y_continuous(
breaks = seq(-200000, 600000, 100000),
labels = format(abs(seq(-200000, 600000, 100000)), big.mark = " ", scientific = F)
) +
scale_x_continuous(
breaks = seq(1945.5, 2023.5, 2),
labels = seq(1945, 2023, 2)
) +
labs(
x = "",
y = "Birthrate",
title = "Poland's Birthrate (1946-2023)",
subtitle = "from babyboomers to alpha generation",
caption = paste0("Author: MK \n data source: wikipedia (", Sys.Date(), ") \n demography")
) +
theme(
panel.grid.major.x = element_blank(),
panel.grid.minor.x = element_blank()
)
htmltools::HTML(s())The performance trajectory of Poland’s national football team in the FIFA rankings offers a compelling narrative of fluctuating fortunes over the past three decades. As depicted in the accompanying chart, Poland’s journey in the rankings is marked by significant highs and lows, reflecting periods of both decline and resurgence.
In the early 1990s, Poland’s national team maintained a relatively stable position within the top 30 of the FIFA rankings. This period was characterized by consistent performances and a solid standing in international football. However, this stability began to wane in the mid-1990s. By 1997, the team experienced a noticeable drop, slipping out of the top 30 and continuing a downward trend that would culminate in their lowest point.
The years 2006 to 2013 were particularly challenging for the Polish team. The chart highlights a dramatic plunge in rankings during this period, reaching the lowest point in 2013 when Poland was ranked 78th in the world. This phase was marked by underwhelming performances and a struggle to compete effectively on the international stage.
Despite the setbacks, the mid-2010s marked a period of remarkable recovery and resurgence for Poland. Starting from 2014, the team began a steady ascent in the rankings. This upward momentum reached its zenith in 2017, when Poland achieved its highest-ever FIFA ranking, climbing to 5th place. This remarkable turnaround can be attributed to a combination of strategic changes, improved player performances, and successful qualification campaigns.
Following their peak in 2017, Poland’s ranking saw a slight decline but has remained within a competitive range, generally fluctuating between the 15th and 30th positions. This period indicates a phase of relative stability and competitiveness, reflecting the team’s ability to maintain a solid presence in international football.
s <- svgstring(scaling = 1, width = 12, height = 6)
dfFifa %>%
group_by(year) %>%
mutate(mean = mean(position, na.rm = T)) %>%
ggplot(aes(
x = as.numeric(year),
y = -mean
)) +
geom_line(color = "#F93943", size = 1.7) +
### WORST
annotate(
"text",
x = 2003.5,
y = -68,
label = "The worst place in \n FIFA ranking \n (2013, 78th)",
color = "#111d2b",
fontface = 'bold',
size = 5
) +
geom_point(aes(y = -position), color = "#111d2b", size = 2, alpha = .5) +
scale_x_continuous(breaks = seq(1990, max(dfFifa$year), na.rm = T, 2)) +
scale_y_continuous(breaks = seq(0, -80, -5), labels = seq(0, 80, 5)) +
annotate(
'curve',
x = 2006.5,
y = -72,
yend = -78,
xend = 2012.5,
linewidth = 1,
curvature = -0.2,
arrow = arrow(length = unit(0.5, 'cm')),
color = "#111d2b"
) +
### PEAK
annotate(
"text",
x = 2012,
y = -22,
label = "Poland's peak in \n FIFA ranking \n (2017, 5th)",
color = "#111d2b",
fontface = 'bold',
size = 5
) +
geom_point(aes(y = -position), color = "#111d2b", size = 2, alpha = .5) +
annotate(
'curve',
x = 2014,
y = -11.5,
yend = -6.5,
xend = 2016.5,
linewidth = 1,
curvature = -0.35,
arrow = arrow(length = unit(0.5, 'cm')),
color = "#111d2b"
) +
labs(
x = "Ranked year",
y = "Position",
title = "How is polish footbal team performing in the FIFA ranking?",
subtitle = "year's average with each month's rank marked",
caption = paste0("Author: MK \n data source: wikipedia (", Sys.Date(), ") \n men's national football team")
)
htmltools::HTML(s())Poland’s peak in 2017 is particularly noteworthy, as it signifies the culmination of efforts to rebuild and strengthen the team. Maintaining a competitive position in recent years suggests that Poland has established a more consistent framework for success, which could bode well for future international competitions.
s <- svgstring(scaling = 1, width = 12, height = 6)
dfFifa %>%
ggplot(aes(
x = year,
y = position
)) +
geom_boxplot() +
labs(
x = "Ranked year",
y = "Position",
title = "How is polish footbal team performing in the FIFA ranking?",
subtitle = "year's average with each month's rank marked",
caption = paste0("Author: MK \n data source: wikipedia (", Sys.Date(), ") \n men's national football team")
)
htmltools::HTML(s())Poland’s peak in 2017 is particularly noteworthy, as it signifies the culmination of efforts to rebuild and strengthen the team. Maintaining a competitive position in recent years suggests that Poland has established a more consistent framework for success, which could bode well for future international competitions.
Poland has produced a rich lineage of football talent, particularly in the realm of goal-scoring strikers who have left an indelible mark on the sport. The accompanying chart provides a visual representation of Poland’s top strikers, categorized by the number of goals they scored during their careers, offering a timeline of football excellence from the early 20th century to the present day.
The journey of Polish football’s greatest strikers begins with the early pioneers of the 1920s and 1930s. Wawrzyniec Staliński, who scored 11 goals, and Józef Nawrot, with 16 goals, laid the foundational stones. These early stars set the stage for future generations, demonstrating the potential of Polish talent on the international stage.
Moving into the 1950s, we see the emergence of players like Gerard Cieślik, who netted 27 goals. His remarkable performance during this period helped elevate Poland’s status in international football, establishing a legacy that would inspire future strikers.
The 1960s to the 1980s represent a golden era for Polish football, highlighted by prolific goal-scorers who dominated the field. Włodzimierz Lubański, with an impressive 48 goals, stands out as a towering figure of this era. His goal-scoring prowess and leadership on the field were instrumental in Poland’s successful campaigns during this period.
Other notable strikers from this era include Grzegorz Lato (45 goals) and Andrzej Szarmach (32 goals), both of whom played pivotal roles in Poland’s strong performances in international tournaments, including the World Cup. Their contributions cemented Poland’s reputation as a formidable footballing nation.
The 1990s and 2000s were marked by a blend of seasoned veterans and emerging talents. Players like Roman Kosecki (19 goals) and Andrzej Juskowiak (13 goals) provided consistency and experience, while younger stars such as Euzebiusz Smolarek (19 goals) began to make their mark.
This period also saw the rise of versatile midfielders like Jakub Błaszczykowski (21 goals), who, despite not being traditional strikers, contributed significantly to the team’s goal tally. Their performances ensured that Poland remained competitive on the international stage, setting the stage for future talents.
The modern era of Polish football has been defined by the extraordinary talents of strikers like Robert Lewandowski, who has set a new benchmark with an astounding 82 goals. Lewandowski’s goal-scoring feats have not only brought numerous accolades to Poland but have also earned him a place among the world’s elite footballers. His consistency, skill, and leadership continue to inspire both teammates and fans.
s <- svgstring(scaling = 1, width = 12, height = 9)
dfTeam %>%
arrange(-debut) %>%
mutate(
id = row_number(),
goals_buket = cut(goals, breaks = c(0, 19, 39, 1000), labels = c("[0, 19]", "[20, 39]", "40+"))
) %>%
ggplot() +
geom_rect(aes(
xmin = debut,
xmax = off,
ymin = id + .4,
ymax = id - .4,
fill = goals_buket
), show.legend = F) +
geom_text(aes(
x = debut - 1.5,
y = if_else(id < 35, id, NA),
label = paste0(player, " (", goals, ")")
), hjust = 1) +
geom_text(aes(
x = off,
y = id,
label = paste0(off - debut, "y")
), hjust = 1, color = "white") +
geom_text(aes(
x = off + 1.5,
y = if_else(id >= 35, id, NA),
label = paste0(player, " (", goals, ")")
), hjust = 0) +
scale_x_continuous(breaks = seq(min(dfTeam$debut, na.rm = T) - 2, max(dfTeam$off, na.rm = T), 4)) +
theme(
axis.line.y = element_blank(),
axis.text.y = element_blank(),
axis.ticks.y = element_blank(),
plot.subtitle = element_markdown()
) +
scale_fill_manual(
values = c(
"#111d2b",
"#2f4f77",
"#d1000a"
)
) +
labs(
x = "Year played (from debut to off)",
y = "",
title = "The best stikers in the history of polish football",
subtitle = glue::glue(
"
divided by a number (binned) of scored goals:
<span style = 'color: #111d2b;'><b>[10, 19]</b></span>,
<span style = 'color: #2f4f77;'><b>[20, 39]</b></span>,
<span style = 'color: #d1000a;'><b>46+</b> </span>
"
),
caption = paste0("Author: MK \n data source: wikipedia (", Sys.Date(), ") \n men's national football team")
)
htmltools::HTML(s())The historical overview of Poland’s greatest strikers, as illustrated in the chart, reflects a rich and evolving legacy of football talent. From early pioneers to modern legends, each era has produced remarkable goal-scorers who have contributed to the national team’s successes and reputation. As Poland continues to develop and nurture football talent, the achievements of these strikers will remain a source of inspiration and pride for future generations, ensuring that the legacy of Polish football excellence endures.
s <- svgstring(scaling = 1, width = 12, height = 12)
dfTeam <-
dfTeam %>%
mutate(
ratio = round(goals / matches, 2)
)
mostEfficient <- (
dfTeam %>%
top_n(., 5, ratio)
)$player
dfTeam %>%
mutate(
isTop = player %in% mostEfficient,
player = paste0(sub(" ", "\n", player), "\n(", goals, "/", matches, ")")
) %>%
ggplot(aes(
x = goals,
y = matches,
size = ratio
)) +
geom_point(aes(
color = isTop,
size = ratio / 2
), alpha = .7, show.legend = F, vjust = "inward", hjust = "inward") +
geom_text(aes(
label = player,
color = isTop
), alpha = .7, show.legend = F, fontface = 2, vjust = "inward", hjust = "inward") +
scale_x_log10() +
scale_y_log10() +
scale_size(range = c(3, 6)) +
scale_color_manual(values = c("#111d2b", "#d1000a")) +
theme(
plot.subtitle = element_markdown()
) +
labs(
x = "Goals Scored",
y = "Matches Played",
title = "The best stikers in the history of polish football",
subtitle = glue::glue(
"
player efficiency comparison
<b>(goals scored / matches played)</b>
"
),
caption = paste0("Author: MK \n data source: wikipedia (", Sys.Date(), ") \n men's national football team")
)
htmltools::HTML(s())The historical overview of Poland’s greatest strikers, as illustrated in the chart, reflects a rich and evolving legacy of football talent. From early pioneers to modern legends, each era has produced remarkable goal-scorers who have contributed to the national team’s successes and reputation. As Poland continues to develop and nurture football talent, the achievements of these strikers will remain a source of inspiration and pride for future generations, ensuring that the legacy of Polish football excellence endures.
s <- svgstring(scaling = 1, width = 12, height = 12)
dfTeam <-
dfTeam %>%
mutate(
ratio = round(goals / matches, 2)
)
mostEfficient <- (
dfTeam %>%
top_n(., 5, ratio)
)$player
dfTeam %>%
mutate(
isTop = player %in% mostEfficient,
player = paste0(sub(" ", "\n", player), "\n(", goals, "/", matches, ")")
) %>%
ggplot(aes(
x = goals,
y = matches,
size = ratio
)) +
geom_abline(intercept = 0, slope = 1, linetype = "dotted", color = "#d1000a") +
annotate(
"text",
x = 35,
y = 25,
label = "Lane indicates \n 1 goal per match \n performance",
color = "#d1000a",
fontface = 'bold',
size = 4.5
) +
geom_point(aes(
color = isTop,
size = ratio / 2
), alpha = .7, show.legend = F, vjust = "inward", hjust = "inward") +
scale_x_log10() +
scale_y_log10() +
scale_size(range = c(3, 6)) +
scale_color_manual(values = c("#111d2b", "#d1000a")) +
theme(
plot.subtitle = element_markdown()
) +
labs(
x = "Goals Scored",
y = "Matches Played",
title = "The best stikers in the history of polish football",
subtitle = glue::glue(
"
player efficiency comparison
<b>(goals scored / matches played)</b>
"
),
caption = paste0("Author: MK \n data source: wikipedia (", Sys.Date(), ") \n men's national football team")
)
htmltools::HTML(s())The historical overview of Poland’s greatest strikers, as illustrated in the chart, reflects a rich and evolving legacy of football talent. From early pioneers to modern legends, each era has produced remarkable goal-scorers who have contributed to the national team’s successes and reputation. As Poland continues to develop and nurture football talent, the achievements of these strikers will remain a source of inspiration and pride for future generations, ensuring that the legacy of Polish football excellence endures.
The chart’s vertical axis represents “Historical opponents rank,” indicating teams’ historical performance rankings. The horizontal axis spans from 0 to 100+ goals, representing the number of goals scored or lost. Each team is depicted by two points connected by a line:
Red Point (Goals Lost): Indicates the number of goals conceded by the team.
Black Point (Goals Scored): Represents the team’s offensive prowess.
Top Right Quadrant (Strong Offense, Solid Defense)
Teams positioned far to the right (closer to 100 goals scored) have impressive offensive records. If the black point is higher than the red point, it indicates that the team has conceded fewer goals than they’ve scored. Notable teams in this quadrant might include Barcelona, Bayern Munich, and other dominant clubs.
Bottom Left Quadrant (Weak Offense, Vulnerable Defense)
Teams positioned far to the left (closer to 0 goals scored) struggle offensively. If the red point is higher than the black point, it suggests that the team concedes more goals than they score. These teams need to improve both their attacking and defensive strategies.
Top Left Quadrant (Strong Offense, Vulnerable Defense)
Teams with high goals scored but also high goals conceded fall into this quadrant. While they excel in attacking, their defense needs work. Balancing offensive flair with defensive stability is crucial for these teams.
Bottom Right Quadrant (Weak Offense, Solid Defense)
Teams here have solid defensive records but struggle to find the back of the net. They need to focus on improving their attacking play. Examples might include teams that prioritize a strong defense, such as Italy or Greece.
s <- svgstring(scaling = 1, width = 12, height = 18)
dfRival %>%
group_by(Rival) %>%
mutate(
diff = GZ - GS,
position = max(GZ, GS)
) %>%
ggplot(aes(y = reorder(Rival, diff))) +
geom_segment(aes(
x = GZ,
xend = GS,
yend = reorder(Rival, diff)
)) +
geom_point(aes(x = GZ), color = "#d1000a", size = 5) +
geom_point(aes(x = GS), color = "#0a0229", size = 4) +
geom_text(aes(
label = paste0(GZ, "/", GS),
x = position + 4
), color = "#111d2b") +
theme(
plot.subtitle = element_markdown()
) +
labs(
x = "Number of goals",
y = "",
title = "Who should we fear? The historical context.",
subtitle = glue::glue(
"
Poland Team opponents by number of goals
<span style = 'color: #d1000a;'><b>scored</b></span> /
<span style = 'color: #0a0229;'><b>lost</b></span>.
"
),
caption = paste0("Author: MK \n data source: wikipedia (", Sys.Date(), ") \n men's national football team")
)
htmltools::HTML(s())s <- svgstring(scaling = 1, width = 12, height = 18)
dfRival %>%
group_by(Rival) %>%
mutate(position = max(W, R, P)) %>%
ggplot(aes(
y = reorder(Rival, (W - P))
)) +
geom_segment(aes(
x = W,
xend = P,
yend = reorder(Rival, (W - P))
), color = "#111d2b") +
geom_point(aes(x = W), color = "#d1000a", size = 4) +
geom_point(aes(x = R), color = "#2f5077", shape = 4, size = 4) +
geom_point(aes(x = P), color = "#0a0229", size = 3.5) +
geom_text(aes(
label = paste0(W, "/", P, "/", R),
x = position + 1
), color = "#111d2b") +
theme(
plot.subtitle = element_markdown()
) +
labs(
x = "Matches played",
y = "",
title = "Who should we fear? The historical context.",
subtitle = glue::glue(
"
Poland Team opponents by matches
<span style = 'color: #d1000a;'><b>won</b></span> /
<span style = 'color: #0a0229;'><b>lost</b></span> /
<span style = 'color: #2f5077;'><b>draw</b></span>.
"
),
caption = paste0("Author: MK \n data source: wikipedia (", Sys.Date(), ") \n men's national football team")
)
htmltools::HTML(s())s <- svgstring(scaling = 1, width = 12, height = 8)
world <- ne_countries(scale = "medium", returnclass = "sf")
world_data <- world %>%
left_join(dfRival, by = c("name" = "Rival"))
world_data %>%
mutate(Total = W - P) %>%
ggplot() +
geom_sf(aes(fill = Total), color = "#ffffff") +
scale_fill_gradient2(
low = "#0a0229",
mid = "#2f5077",
high = "#d1000a",
midpoint = 0,
na.value = "#dddddd",
name = "Matchs balance"
) +
theme(
plot.subtitle = element_markdown()
) +
labs(
title = "Who should we fear? The historical context.",
subtitle = glue::glue(
"
Poland Team opponents by matches mostly
<span style = 'color: #d1000a;'><b>won</b></span> /
<span style = 'color: #0a0229;'><b>lost</b></span> /
<span style = 'color: #2f5077;'><b>draw</b></span>.
"
),
caption = paste0("Author: MK \n data source: wikipedia (", Sys.Date(), ") \n men's national football team")
)
htmltools::HTML(s())